home *** CD-ROM | disk | FTP | other *** search
/ Ahoy 1987 March / Ahoy_Magazine_87-03_1987_Double_L.d64 / Default Prompt (.txt) < prev    next >
Commodore BASIC  |  2022-10-26  |  1KB  |  49 lines

  1. 0 rem  << rr39-1 >>
  2. 1 rem ----------------------------------
  3. 2 print"[147]     default prompter "
  4. 3 print"      rupert report #39 "
  5. 4 rem ----------------------------------
  6. 5 rem  initial alphanumeric key erases
  7. 6 rem  default value.
  8. 7 rem  press [del] to backspace.
  9. 8 rem  press [return] when done.
  10. 9 rem
  11. 10 prompt$="what filename? "
  12. 20 dflt$="file#01"
  13. 30 fl$=dflt$ : lf=len(fl$)
  14. 40 csr$=chr$(175)+chr$(157)
  15. 50 bs$=chr$(20) : cr$=chr$(13)
  16. 60 rem =================================
  17. 70 print prompt$;dflt$;csr$;
  18. 80 gosub 200    :rem get first key
  19. 90 if k$=bs$ or k$=cr$ then 120
  20. 100 gosub 500   :rem  first character
  21. 110 gosub 200   :rem  get next keystroke
  22. 120 if k$=bs$ then gosub 300 : goto 110  : rem handle delete key
  23. 130 if k$=cr$ then goto 400 :  rem  done if return key
  24. 140 :rem  handle other keys
  25. 150 fl$=fl$+k$ : lf=lf+1
  26. 160 print k$;csr$;
  27. 170 goto 110
  28. 180 rem ================================
  29. 200 :rem  ---    get keystroke    ---
  30. 210 get k$ : if k$="" then 210
  31. 220 if k$=cr$ or k$=bs$ then 240
  32. 230 if asc(k$)<32 or asc(k$)>127 then 210
  33. 240 return
  34. 300 :rem  ---  handle delete key  ---
  35. 310 if lf>0 then print bs$;csr$;
  36. 320 lf=lf-1 : if lf<0 then lf=0
  37. 330 fl$=left$(fl$,lf)
  38. 340 return
  39. 400 :rem  ---  handle return key  ---
  40. 410 print " "
  41. 420 print"filename is "fl$ : print
  42. 430 run
  43. 500 :rem  ---  handle first key   ---
  44. 510 :  rem  erase default value
  45. 520 for n=1 to lf : print bs$; : next
  46. 530 fl$=k$ : lf=1
  47. 540 print k$;csr$;
  48. 550 return
  49.